1. Field of the Invention
This invention relates to computer networks, and more particularly to a dynamic administration framework for distributed server systems.
2. Description of the Related Art
An application server is a server program in a computer in a distributed network that provides the business logic for an application program. The application server is frequently viewed as part of a three-tier application, consisting of a graphical user interface (GUI) server, an application (business logic) server, and a database server. More descriptively, it can be viewed as dividing an application into:                A first-tier, front-end, Web browser-based graphical user interface, usually at a personal computer or workstation;        A middle-tier business logic application or set of applications, possibly on a local area network or intranet server;        A third-tier, back-end, database and transaction server, sometimes on a mainframe or large server.        
Older, legacy application databases and transaction management applications are part of the back end or third tier. The application server is the middleman between browser-based front-ends and back-end databases and legacy systems.
A Web server is a program that, using the client/server model and the World Wide Web's Hypertext Transfer Protocol (HTTP), serves the files that form Web pages to Web users (whose computers contain HTTP clients that forward their requests). Every computer on the Internet that contains a Web site must have a Web server program.
In servers based on the J2EE (Java 2 Platform, Enterprise Edition) distributed computing model, the business presentation is typically represented using servlets and/or Java Server Pages (JSPs), and the business logic typically runs in the form of distributed components such as Enterprise JavaBeans (EJBs).
J2EE (Java 2 Platform, Enterprise Edition) is a Java platform designed for the mainframe-scale computing typical of large enterprises. Sun Microsystems (together with industry partners such as IBM) designed J2EE to simplify application development in a thin client tiered environment. J2EE simplifies application development and decreases the need for programming and programmer training by creating standardized, reusable modular components and by enabling the tier to handle many aspects of programming automatically. J2EE includes a number of components, including:                The Java Development Kit (JDK) is included as the core language package.        Full support for Enterprise JavaBeans. EJB is a server-based technology for the delivery of program components in an enterprise environment. It supports the eXtensible Markup Language (XML) and has enhanced deployment and security features.        The Java servlet API (application programming interface) enhances consistency for developers without requiring a graphical user interface (GUI).        Java Server Pages (JSP) is used for dynamic Web-enabled data access and manipulation.        
The J2EE Application Programming Model is the standard programming model used to facilitate the development of multi-tier, thin client applications. The J2EE Platform includes policies and APIs such as the Java servlets and Java Message Service (JMS).
The Sun™ One Application Server provides a robust J2EE e-commerce platform for the development, deployment, and management of application services to a broad range of servers, clients, and devices. The Sun™ One Application Server maximizes application re-use and developer collaboration and demonstrates the potential of leveraging Java for large-scale web and wireless applications.
The Sun™ One Web Server is a software product for developers engaged in building dynamic Web applications for e-commerce sites. Multiplatform support makes it possible for developers to work in the operating system environment of their choice. The product works with Java™ Servlet and JavaServer Pages™ technologies to generate personalized content and speed development. Its centralized server management, content management, and rapid application development features combine to deliver a powerful means for enterprises to move their businesses to the Internet.
Java™ Management Extensions (JMX) is an open technology for management and monitoring for deployment across industries wherever management and/or monitoring may be needed or desired. JMX may be used, for example, for adapting legacy systems, implementing new management and monitoring solutions and plugging into future solutions. JMX may provide tools for building distributed, Web-based, modular and dynamic solutions for managing and monitoring devices, applications and service-driven networks.
A bean may be defined as a component, a reusable program building block that may be combined with other components in the same or other computers in a distributed network to form an application. Examples of components include, but are not limited to, buttons in a graphical user interface and interfaces to a database manager. Components may be deployed on different servers in a network and may communicate with each other for needed services. A component may run within a context called a container. Examples of containers include, but are not limited to, pages on a Web site, Web browsers, and word processors.
A managed bean, or MBean, is a Java object that represents a JMX manageable resource. MBeans may follow the JavaBeans™ components model, thus providing a direct mapping between JavaBeans components and manageability. Because MBeans provide instrumentation of managed resources in a standardized way, they can be plugged into any JMX agent.
The open source schema2beans library (schema2beans.jar file) allows the generation of a set of java bean classes from a DTD or XML Schema file. This set of beans may be used to represent an XML file as a graph of java beans. Elements of the graph may be added, changed and/or removed, graphs may be merged and compared, and events may be generated and obtained on any change in the graph. The graph may be written back as a DTD or XML Schema file. The package of this library is includes a schema2beans runtime and schema2beans generator, both part of the same schema2beans jar file.
XPath is a language that describes a way to locate and process items in documents (e.g. Extensible Markup Language (XML) documents) by using an addressing syntax based on a path through the document's logical structure or hierarchy. This makes writing programming expressions easier than if each expression had to understand typical XML markup and its sequence in a document. XPath also allows the programmer to deal with the document at a higher level of abstraction. XPath is a language that is used by and specified as part of both the Extensible Stylesheet Language Transformations (XSLT) and by XPointer (SML Pointer Language). It uses the information abstraction defined in the XML Information Set (Infoset). Since XPath does not use XML syntax itself, it may be used in contexts other than those of XML.